﻿using System;
using System.Collections.Generic;
using System.Text;

namespace PCR.Base
{
    /// <summary>
    /// Control the input and output with external application
    /// </summary>
    public interface IIOManager
    {
        /// <summary>
        /// Import the patient reports from specified excel file,
        /// the input excel file format must confirm to our rules
        /// </summary>
        /// <typeparam name="T">This template type could be IVirusType, 
        ///     IPatientReport, or IStdCurve</typeparam>
        /// <param name="excelFile">Output excel file name</param>
        /// <returns>The list of the specified data</returns>
        IList<T> ImportFromExcel<T>(string excelFile);
        
        /// <summary>
        /// Export the patient reports to specified excel file,
        /// </summary>
        /// <typeparam name="T">This template type could be IVirusType, 
        ///     IPatientReport, or IStdCurve</typeparam>
        /// <param name="excelFile">Output excel file name</param>
        /// <returns>The list of the specified data</returns>
        bool ExportToExcel<T>(string excelFile, IList<T> dataList);
    }

}
